<?php
/**  
* Searchmgr.php
*  db 핸들링을 지원하기 위한 유틸 제공  
*/

require_once(CLASS_PATH."/__autoload.php");

class Searchmgr extends Dbmgr implements Display
{
   protected   $keywords, $strArr = array(), $file_name, $fp, $today;
 
   public function __construct()
   {
     parent::__construct($connection = '', $close_flag = true);
     $this->db_open();
   }
   
  
   public function get_details($load_args)
   {
/*	   
	   if(!is_array($load_args))
	   {
			if (strlen($load_args) >= 40) {  // 최초 검색어 입력글자 갯수제한(maxlength=40) : buffer over flow 방지용
				return $this->showMsg('허용된 검색용 문자열 갯수를 초과 하였습니다.'); 
			}
		}	
*/			 
		$keywords = $this->cleanKeyword($load_args, ' ');
	  
/*////////////////////////	  
	     echo "<b>Searchmgr.php >>> get_details() \$keywords : </b> ".print_r($keywords)."<br /><br />";
/**///////////////////////	  
		  
	  if(empty($keywords)) 
	  {                                  // onclick=\"javascript:location.href=document.referrer\" 이부분 자바스크립트로 처리 버그 없슴
	    /* echo "검색어가 없습니다.".
		      "&nbsp;<a href='history.go(-1); return false;' onclick=\"javascript:location.href=document.referrer\">이전 페이지로</a>";
		     "<script>setTimeout('location.href=\"http://www.naver.com/\"', 4000)</script>";   // 이전주소로 경로조정 필요   */
		//        echo "<meta http-equiv='refresh' content='0; URL=\"/2013p79/index.php\"' />";
		
		  return false;
	  }	 
 	
	  $result = $this->getQuery($keywords);
	 
	  if(!$result) return;  

/*///////////////////////	  
	     echo "<b>Searchmgr.php >>> get_details() \$result:  </b>   ".print_r($result)."<br /><br />";
/**///////////////////////	  
	  
	  $numrows = $this->db_numrows($result);	  
	  
/*///////////////////////	  
	     echo "<br /><br /><b>Searchmgr.php >>>  \$numrows:  </b>".$numrows."<br /><br />";
/**///////////////////////
	  
	  if (empty($numrows))
	  {
		  return $this->showMsg('검색된 결과가 없습니다.');  
	  }	  
      return $result;   
   }
  
   
   protected function isValid($str)
   {
	   	$over3 			= null;
		$pattern_normal = "/[^A-Za-z0-9]/"; 		
		$str   			= preg_replace($pattern_normal, "", $str);	
		  
		if(!$over3)
		{ 					// 3글자 이상 검색어가 최소 한개 이상 포함 여부 검증
		  $over3 = (strlen($str) > 2) ? TRUE : FALSE;	
		}
		
		if(is_null($over3)) 
		{
		  return $this->showMsg('검색어는 3글자 이상 단어를 최소 하나 이상 포함 해야 합니다.');   
		}
	   	return true;
   }
   
   public function showMsg($str)
   {
       $errMsg = "<b>알림:</b> ".$str;
	   return $errMsg;
   }
   
   	protected function recSearchLog($keywords, $h)
	{		
		$today 		= date('Y-m-d');
		$file_name 	= "./log_data/log_{$today}_{$h}.txt";
		$fp 		= fopen($file_name, 'a+'); 
		
		$keywords	= explode(',', $keywords);
		$keywords	= str_replace('"', '', $keywords);
		$keywords	= implode(',', $keywords);
		
		fwrite($fp, $keywords.', ');
		fclose($fp);
	}
   
}
?>
